package com.ethink.warehouse.facade.impl;

import com.ethink.warehouse.api.info.MateInventoryDetailOrderMoreInfo;
import com.ethink.warehouse.api.response.MateInventoryDetailOrderQueryResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ethink.warehouse.api.MateInventoryDetailOrderFacade;
import com.ethink.warehouse.api.info.MateInventoryDetailOrderInfo;
import com.ethink.warehouse.api.request.MateInventoryDetailOrderAddRequest;
import com.ethink.warehouse.api.request.MateInventoryDetailOrderQueryRequest;
import com.ethink.warehouse.api.request.MateInventoryDetailOrderUpdateRequest;
import com.ethink.warehouse.api.response.MateInventoryDetailOrderAddResponse;
import com.ethink.warehouse.api.response.MateInventoryDetailOrderDeleteResponse;
import com.ethink.warehouse.api.response.MateInventoryDetailOrderUpdateResponse;
import com.ethink.warehouse.service.MateInventoryDetailOrderService;
import java.util.List;

/**
 * 入库/出库明细单 Facade接口实现
 *
 * @author default
 * @date 2022-12-15
 */
@RestController
@Slf4j
@RequestMapping("warehouse-service/facade/v1/mateInventoryDetailOrder")
public class MateInventoryDetailOrderFacadeImpl implements MateInventoryDetailOrderFacade {

    @Autowired
    private MateInventoryDetailOrderService mateInventoryDetailOrderService;

    @Override
    public Page<MateInventoryDetailOrderQueryResponse> queryMateInventoryDetailOrder(MateInventoryDetailOrderQueryRequest request) {
        return mateInventoryDetailOrderService.queryMateInventoryDetailOrder(request);
    }

    @Override
    public MateInventoryDetailOrderInfo getMateInventoryDetailOrderById(Long mateInventoryDetailOrderId) {
        return mateInventoryDetailOrderService.getMateInventoryDetailOrderById(mateInventoryDetailOrderId);
    }

    @Override
    public List<MateInventoryDetailOrderMoreInfo> listMateInventoryDetailOrder(MateInventoryDetailOrderQueryRequest request) {
        return mateInventoryDetailOrderService.listMateInventoryDetailOrder(request);
    }

    @Override
    public MateInventoryDetailOrderAddResponse addMateInventoryDetailOrder(MateInventoryDetailOrderAddRequest request) {
        return mateInventoryDetailOrderService.addMateInventoryDetailOrder(request);
    }

    @Override
    public MateInventoryDetailOrderUpdateResponse updateMateInventoryDetailOrder(MateInventoryDetailOrderUpdateRequest request) {
        return mateInventoryDetailOrderService.updateMateInventoryDetailOrder(request);
    }

    @Override
    public MateInventoryDetailOrderDeleteResponse deleteMateInventoryDetailOrder(Long mateInventoryDetailOrderId) {
        return mateInventoryDetailOrderService.deleteMateInventoryDetailOrder(mateInventoryDetailOrderId);
    }

}